﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Helena.Areas.Campanas.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace Helena.Areas.Salidas.Models
{
    public class DetalleSalidaView
    {
        public int ID { get; set; }

        [DisplayName("Activo")]
        public bool Estado { get; set; }

        [Required]
        [DisplayName("Codigo de la salida")]
        public int SalidaID { get; set; }
        
        [Required]
        [DisplayName("Producto")]
        public int ProductoID { get; set; }
        public string NombreProducto { get; set; }

        [DisplayName("Proveedor")]
        public int ProveedorID { get; set; }

        [Required]
        [DisplayName("Cantidad")]
        public double Cantidad { get; set; }

        public DetalleSalidaView() 
        {
            NombreProducto = "";
            Estado = true;
        }

        public DetalleSalidaView(DetalleSalida detalle) 
        {
            this.ID = detalle.ID;
            this.Estado = detalle.Estado;
            this.SalidaID = detalle.SalidaID;
            this.ProductoID = detalle.ProductoID;
            this.ProveedorID = detalle.ProveedorID;
            this.NombreProducto = detalle.NombreProducto;
            this.Cantidad = detalle.Cantidad;

        }


        public DetalleSalida deserializa(InterfazLogicaSalida logica)
        {
            return new DetalleSalida
            {
                ID = this.ID,
                Estado = this.Estado,
                ProductoID = this.ProductoID,
                NombreProducto=this.NombreProducto,
                ProveedorID=this.ProveedorID,
                SalidaID = this.SalidaID,
                Cantidad = this.Cantidad
            };
        }
    }
}